#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define ub upper_bound
#define lb lower_bound
#define mp make_pair
#define pii pair<ll int,ll int>
#define umap unordered_map
#define popcount(x) __builtin_popcountll(x)
#define all(v) v.begin() , v.end()
#define PI 3.141592653589793238
#define E 2.7182818284590452353602874713527
#define M 1000000007
const long long INF = 1e18;
#define error(args...) { string _s = #args; replace(_s.begin(), _s.end(), ',', ' '); stringstream _ss(_s); istream_iterator<string> _it(_ss); err(_it, args); }
void err(istream_iterator<string> it) {}
template<typename T, typename... Args>
void err(istream_iterator<string> it, T a, Args... args) {
cerr << *it << " = " << a << endl;
err(++it, args...);
}
int main()
{
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
ll int n,m,a,b;
cin>>n>>m>>a>>b;
long double a1[n],b1[m],l[m],d[n];
for (int i = 0; i < n; i++)
{
cin>>a1[i];
}
for (int i = 0; i < n; i++)
{
d[i]=sqrtl((a*a)+(a1[i]*a1[i]));
}
for (int i = 0; i < m; i++)
{
cin>>b1[i];
}
for (int i = 0; i < m; i++)
{
cin>>l[i];
}
long double ans=INF;
ll int y=0,ans1,ans2;
for (int i = 0; i < m; i++)
{
long double x=l[i];
ll int z=y+1;
double e1=d[y] + sqrtl(((b-a)*(b-a))+((b1[i]-a1[y])*(b1[i]-a1[y])));
double e2;
if(z<n)
e2=d[y+1]+ sqrtl(((b-a)*(b-a))+((b1[i]-a1[z])*(b1[i]-a1[z])));
else e2=INF;
if(e1<e2)
{
if(ans>x+e1)
ans=x+e1,ans1=y+1,ans2=i+1;
}
else y++,i--;
}
cout<<ans1<<" "<<ans2;
}
1920. Build Array from Permutation | 494. Target Sum |
797. All Paths From Source to Target | 1547B - Alphabetical Strings |
1550A - Find The Array | 118B - Present from Lena |
27A - Next Test | 785. Is Graph Bipartite |
90. Subsets II | 1560A - Dislike of Threes |
36. Valid Sudoku | 557. Reverse Words in a String III |
566. Reshape the Matrix | 167. Two Sum II - Input array is sorted |
387. First Unique Character in a String | 383. Ransom Note |
242. Valid Anagram | 141. Linked List Cycle |
21. Merge Two Sorted Lists | 203. Remove Linked List Elements |
733. Flood Fill | 206. Reverse Linked List |
83. Remove Duplicates from Sorted List | 116. Populating Next Right Pointers in Each Node |
145. Binary Tree Postorder Traversal | 94. Binary Tree Inorder Traversal |
101. Symmetric Tree | 77. Combinations |
46. Permutations | 226. Invert Binary Tree |